package com.ys.nms.module.business.service.localCompanyArea;

import com.ys.nms.module.business.controller.admin.localCompanyArea.vo.CompanyAreaListReqVO;
import com.ys.nms.module.business.controller.admin.localCompanyArea.vo.CompanyAreaSaveReqVO;
import com.ys.nms.module.business.dal.dataobject.localCompanyArea.CompanyAreaDO;

import jakarta.validation.Valid;
import java.util.*;

/**
 * 区域 Service 接口
 *
 * @author 超级管理员
 */
public interface CompanyAreaService {

    /**
     * 创建区域
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createCompanyArea(@Valid CompanyAreaSaveReqVO createReqVO);

    /**
     * 更新区域
     *
     * @param updateReqVO 更新信息
     */
    void updateCompanyArea(@Valid CompanyAreaSaveReqVO updateReqVO);

    /**
     * 删除区域
     *
     * @param id 编号
     */
    void deleteCompanyArea(Long id);


    /**
     * 获得区域
     *
     * @param id 编号
     * @return 区域
     */
    CompanyAreaDO getCompanyArea(Long id);

    /**
     * 获得区域列表
     *
     * @param listReqVO 查询条件
     * @return 区域列表
     */
    List<CompanyAreaDO> getCompanyAreaList(CompanyAreaListReqVO listReqVO);

}